diff --git a/_share/media/img/albert/section-05/lesson-06/ex_01a.png b/_share/media/img/albert/section-05/lesson-06/ex_01a.png
new file mode 100644
index 0000000..1205280
Binary files /dev/null and b/_share/media/img/albert/section-05/lesson-06/ex_01a.png differ
diff --git a/_subsections/sec05/lesson-06.org b/_subsections/sec05/lesson-06.org
index 5c4252f..76ae29c 100755
--- a/_subsections/sec05/lesson-06.org
+++ b/_subsections/sec05/lesson-06.org
@@ -1,5 +1,5 @@
-#+title:Flyin#+title: Section 05 - Lesson 06 | Plane Movement
-#+HTML_HEAD:
+#+title: Section 05 - Lesson 06 | Plane Movement
+#+HTML_HEAD:
#+OPTIONS: H:6
* Links
@@ -9,3 +9,104 @@
* Notes
- the more complex the collision shape the more computations
- if you concentrate on good games, you'll notice the collisions are actually straightforward
+
+** collision shape
+*** adding a collision shape
+- click on root node
+- add child CollisionShape2D
+ - pane scene->collision_shape_2D
+ - pane inspector->CollisionShape2D->Shape
+ - select new CircleShape2D
+ - use shape handles to adjust
+
+*** issues with collisions
+- we want the collision shape to be good
+- but the more complex the collision the more computations
+- focus on the game flow, not perfecting the modeling
+
+
+*** circle shape resource
+- click inside the Shape dropdown on the CircleShape2D item
+- it will open up and show you details about CircleShape2D
+ - radius
+ - resource
+ - local to scene
+ - path
+ - name
+
+- currently the resource is embedded in the scene
+
+**** if you want to save the resource for reuse
+- click on the arrow next to the Shape dropdown
+- click save or save as
+
+** add a script
+- SELECT THE ROOT NODE "plane"
+- click on the Scene green plus to add a script
+ #+attr_html: :width 600
+ file:../../_share/media/img/albert/section-05/lesson-06/ex_01a.png
+
+*** in dialog
+- template: select Node default
+- built in script: off
+
+*** coding
+- in a phsycis body we just give vectors
+ - let the physics engine deal with positioning
+
+- CharacterBody2D has a velocity variable which you can set
+ - Vector2D velocity
+ - x, y
+ - how much we want to move in x and y
+
+ - function bool move_and_slide()
+ - updates our position
+ - updates the velocity if we collide with something
+
+ - after move_and_slide has been invoked we call other funcitons
+ - is_on_ceiling
+ - is_on_floor
+ - etc
+
+- upDirection method sets what is "up"
+ - default x: 0, y: -1
+ - (0, 1) ceiling is now floor
+ - (1, 0) the left side is the ceiling
+
+*** default gravity
+- you can access gravity from Project Settings
+
+#+begin_src gdscript
+var _gravity: float = ProjectSettings.get("physics/2d/default_gravity")
+#+end_src
+
+*** manipulating physics nodes
+- use _physics_process instead of _process
+
+- process is invoked every frame
+- physics process is invoked at about half that rate
+
+** creating boundaries
+*** create barrier scene
+**** initialize the scene
+- create a new scene
+- don't select one of the default nodes as the root
+- use the + symbol in Scene to select a StaticBody2D as the root node
+
+**** add boundaries
+- create 2 CollisionShape2D nodes
+- on each set shape to WorldBoundaryShape2D
+
+- lower node
+ - move the boundary to the bottom of the viewing area
+
+- top node
+ - move the boundary a little bit above so as to give the plane some room to bounce through the ceiling
+ - click on the Shape dropdown of WorldShape2D to open additional values
+ - set the direction to down
+ - in Normal, change y from -1 to 1, so it points down instead of up
+
+- save scene
+
+*** add barrier to game scene
+- instantiate as a child node in the game scene