Taking shape

rewrote pretty much everything