hw05 functionally complete