up to 28
mostly done
basics