doing this right finally
module stuff