first version with basic setup