refactor a bit and add user info for holding bitmap