added features and stuff