added init and basics