With instructions
All functions implemented