implement getters
divide files
go fmted