most of the basics!