004 (final)

updated 003 (final)
updated 001 and 002