full basic funcionality