start implementing features