eventually for building
more modular like
pseudo random
removing bug