make iPush inline + some optimizations
optimize constructor
redesign iPush (deleted)