fixed array logic :p