diff --git a/home.md b/home.md
index 6d7b818..e3b1aeb 100644
--- a/home.md
+++ b/home.md
@@ -17,7 +17,7 @@
- Merkle Tree
- Merkle Root
- Partial Merkle Tree
- - Script
+ - [Script](/protocol/blockchain/script)
- Opcodes
...
- Script Execution
diff --git a/protocol/blockchain/transaction.md b/protocol/blockchain/transaction.md
index 0092204..229d22d 100644
--- a/protocol/blockchain/transaction.md
+++ b/protocol/blockchain/transaction.md
@@ -8,17 +8,32 @@ A transaction is how transfers are made in the blockchain. It comprises of a set
|--|--|--|--|
| version | 4 bytes | unsigned integer[(LE)](/protocol/misc/endian/little) | The version of the transaction format. Currently `0x02000000`. |
| input count | variable | [variable length integer](/protocol/formats/variable-length-integer) | The number of inputs in the transaction. |
-| transaction inputs | variable | `input count` [transaction inputs](#transaction-input) | Each of the transaction's inputs serialized in order. |
+| transaction inputs | variable | `input count` [transaction inputs](#transaction-inputs) | Each of the transaction's inputs serialized in order. |
| output count | variable | [variable length integer](/protocol/formats/variable-length-integer) | The number of output in the transaction. |
-| transaction outputs | variable | `output count` [transaction outputs](#transaction-output) | Each of the transaction's inputs serialized in order. |
-| | | | |
-
-
+| transaction outputs | variable | `output count` [transaction outputs](#transaction-outputs) | Each of the transaction's outputs serialized in order. |
+| lock time | 4 bytes | unsigned integer[(LE)](/protocol/misc/endian/little) | The block height or timestamp after which this transaction is allowed to be included in a block. If less than `500,000,000`, this is interpreted as a block height. If more than `500,000,000`, this is interpreted as a unix timestamp in seconds. Ignored if all of the transaction input sequence numbers are `0xFFFFFFFF`.
Note that at 10 minutes per block, it will take over 9,500 years to reach block height 500,000,000. Also note that when Bitcoin was created the unix timestamp was well over 1,000,000,000. |
## Transaction Inputs
Transaction inputs are the "debits" of Bitcoin Cash and not only designate the satoshis that will be transferred as a part of the transaction, but they also provide proof of ownership via the [unlocking script](/protocol/blockchain/transaction/unlocking-script). A transaction input references a unspent transaction output, or UTXO, from a prior transaction. If a transaction would like to spend multiple UTXOs, it must have multiple inputs, one for each UTXO.
+### Format
+
+| Field | Length | Format | Description |
+|--|--|--|--|
+| previous output transaction hash | 32 bytes | [transaction hash](/protocol/blockchain/hash) | The hash of the transaction containing the output to be spent. |
+| output index | 4 bytes | unsigned integer[(LE)](/protocol/misc/endian/little) | The zero-based index of the output to spent in the previous output's transaction. |
+| unlocking script length | variable | [variable length integer](/protocol/formats/variable-length-integer) | The size of the unlocking script in bytes. |
+| unlocking script | variable | bytes[(BE)](/protocol/misc/endian/big) | The contents of the unlocking script. |
+
## Transaction Outputs
-Transaction outputs are the "credits" of Bitcoin Cash. Each transaction output denotes a number of satoshis and the requirements are spending them. These requirements take the form of a [locking script](/protocol/blockchain/transaction/locking-script) and can equate to anything from the satoshis only being spendable by the owner of a specific private key, to anyone being able to spend them, to no one being able to spend them. While a transaction output has not been spent by another transaction (i.e. had its locking script "unlocked" by an input of a valid transaction) it is referred to as an unspent transaction output, or UTXO. After the output has been spent, it is referred to as a previous output, or PrevOut.
\ No newline at end of file
+Transaction outputs are the "credits" of Bitcoin Cash. Each transaction output denotes a number of satoshis and the requirements are spending them. These requirements take the form of a [locking script](/protocol/blockchain/transaction/locking-script) and can equate to anything from the satoshis only being spendable by the owner of a specific private key, to anyone being able to spend them, to no one being able to spend them. While a transaction output has not been spent by another transaction (i.e. had its locking script "unlocked" by an input of a valid transaction) it is referred to as an unspent transaction output, or UTXO. After the output has been spent, it is referred to as a previous output, or PrevOut.
+
+### Format
+
+| Field | Length | Format | Description |
+|--|--|--|--|
+| value | 8 bytes | unsigned integer[(LE)](/protocol/misc/endian/little) | The number of satoshis to be transferred. |
+| locking script length | variable | [variable length integer](/protocol/formats/variable-length-integer) | The size of the unlocking script in bytes. |
+| locking script | variable | bytes[(BE)](/protocol/misc/endian/big) | The contents of the locking script. |